package com.plian.system.entity.hr.employment;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.plian.Tools.DateUtil;
import com.plian.system.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 企业用工管理主表实体类
 *
 * @author gangan
 * @since 2019-11-13
 */
@Data
@TableName("hr_enterprise_employment")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "EnterpriseEmployment对象", description = "企业用工管理主表")
public class EnterpriseEmployment extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/**
	* 单据编码
	*/
	@ApiModelProperty(value = "单据编码")
		private String code;
	/**
	* 单位名称
	*/
	@ApiModelProperty(value = "单位名称")
		private String companyNameId;
	/**
	* 计划属性
	*/
	@ApiModelProperty(value = "计划属性 字典code 049")
		private String planAttributeId;
	/**
	* 部门
	*/
	@ApiModelProperty(value = "部门")
		private String departmentNameId;
	/**
	* 工作岗位
	*/
	@ApiModelProperty(value = "工作岗位")
		private String operatingPost;
	/**
	* 人数
	*/
	@ApiModelProperty(value = "人数")
		private Integer numberOfPeople;
	/**
	* 学历
	*/
	@ApiModelProperty(value = "学历 字典code 025")
		private String educationalId;
	/**
	* 专业
	*/
	@ApiModelProperty(value = "专业")
		private String major;
	/**
	* 是否属于增人增资范畴
	*/
	@ApiModelProperty(value = "是否属于增人增资范畴 1否2是")
		private Integer isIncreasingCapital;
	/**
	* 是否属于补员
	*/
	@ApiModelProperty(value = "是否属于补员  1否2是")
		private Integer isIncreasingWorker;
	/**
	* 实际用工人数
	*/
	@ApiModelProperty(value = "实际用工人数")
		private Integer actualWorkersNumber;
	/**
	* 版本号
	*/
		private String version;
	/**
	* 备注
	*/
	@ApiModelProperty(value = "备注")
		private String remark;
	/**
	* 填报单位
	*/
	@ApiModelProperty(value = "填报单位")
		private String fillingUnitId;
	/**
	* 审核人
	*/
		private String approvedUser;
	/**
	* 审核时间
	*/
	@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
	@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
		private Date approvedTime;
	/**
	* 审核意见
	*/
		private String approvedOption;
	/**
	* 变更时间
	*/
	@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
	@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
	@TableField(value = "change_date_time",updateStrategy = FieldStrategy.IGNORED)
		private Date changeDateTime;
	/**
	* 流程实例id
	*/
		private String formType;
	/**
	* 乐观锁字段
	*/
		private Integer tsVersion;
	/**
	* 备用文本字段1
	*/
		private String def1;
	/**
	* 备用文本字段2
	*/
		private String def2;
	/**
	* 备用文本字段3
	*/
		private String def3;
	/**
	* 备用文本字段4
	*/
		private String def4;
	/**
	* 备用文本字段5
	*/
		private String def5;
	/**
	* 备用文本字段6
	*/
		private String def6;
	/**
	* 备用文本字段7
	*/
		private String def7;
	/**
	* 备用文本字段8
	*/
		private String def8;
	/**
	* 备用数字字段1
	*/
		private BigDecimal def9;
	/**
	* 备用数字字段2
	*/
		private BigDecimal def10;
	/**
	* 备用数字字段3
	*/
		private BigDecimal def11;
	/**
	* 备用数字字段4
	*/
		private BigDecimal def12;
	/**
	* 备用数字字段5
	*/
		private BigDecimal def13;
	/**
	* 备用日期字段1
	*/
	@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
	@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
		private Date def14;
	/**
	* 备用日期字段2
	*/
	@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
	@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
		private Date def15;
	/**
	* 备用日期字段3
	*/
	@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
	@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
		private Date def16;
	/**
	* 备用日期字段4
	*/
	@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
	@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
		private Date def17;
	/**
	* 备用枚举字段1
	*/
		private Long def18;
	/**
	* 备用枚举字段2
	*/
		private Long def19;
	/**
	* 备用枚举字段3
	*/
		private Long def20;

	/**
	 * 数据来源 null为系统填报 对应用户id
	 */
	@ApiModelProperty(value = "数据来源 null和0为系统填报 3一体化平台 对应用户id")
	private String dataSource;

	/**
	 * 数据来源id
	 */
	@ApiModelProperty(value = "数据来源id", required = true)
	private String dataSourceId;
}
